Three dimensional technology plays a crucial role in the graphics development domain. Three dimensional technology is implemented in mobile devices such as smart phones, tables and netbooks. The performance and power consumption of the three dimensional technology on the mobile devices is typically correlated to the user's visual experience and influences a product's competitive advantage.
Many three dimensional games use special effects such as, transparency, shadowing and/or adaptive textures/skins to make the games more attractive to end users. However, the applications running on current graphical processing units require many passes through the entire three dimensional pipeline on the same set of three dimensional objects in order to create these special effects.
For example, to create a transparent effect, the application has to do depth peeling first to get the frame buffer for each depth layer and then blend the layers according to the depth value. During the process of depth peeling, the application must run through the three dimensional pipeline multiple times on the same set of three dimensional objects in order to obtain the data from the different layers. During each run through the three dimensional pipeline, both the vertex phase and the pixel phase of the three dimensional pipeline is computed. However, during the runs, there is no change in the vertex phase. As a result, the vertex phase computing in these passes is duplicative and redundant. It is with respect to these and other considerations that the present improvements have been needed.